ファイル(デレクトリ)についてあれこれ(unix)

ファイル file

ファイリングってうからどじこんて置くものだと思うけど、コンピューターの場合は、HDに構成されるTree構造に付いている色々なDATAの一つの単位に名前を付けたものだんべ。

通常ファイル

テキストファイルと言っているやつだぞ、そのまま読める文字列が一般的だが、書式指定されているもの、色々な書式設定が含まれルものもあります。かなり大まかですが。

実行可能ファイル

プログラムとも呼ばれます。実行形式のような人に読めないものや、perl、sh ell、インタプリンタ形式のものも含まれます。

シンボリックファイル

そのファイルは、シンボリックで、プログラムではないものです。呼ばれると、linkされているプログラムを起動します。

デレクトリ

ファイルをまとめておくフォルダのようなDatabaseで、入れ子形式で設定することによりtree構造が出来上がるfile。

デレクトリ

さっきも書いたけど階層構造(tree)を作るたるに必要な関連ずけられたfileです。

Solarisを含むUINXでは、/(スラッシュ)根っこから始まる階層構造は、インストールの時にディスクスライスで構成します。

/(root)、システム階層の最上位にあるファイルsystemです。カーネル、デバイスドライバ、システムboot、などが配置されています。install時にスライスされないファイルは、自動設定では、ここにすべて置かれます。

/usr、標準的なプログラムは、/usr/bin usr/sbin ここにあります。free-softは、/usr/local/に置かれるケースが多いようです。

/var、ローカルシステムにおいて、いつも変更される可能性の高いfileが置かれます。ログファイル、メールすプール、が配置されています。

/etc、まあなんでもかんでも重要なfileは大体ここに有ります。セットのテープルなども有ります。

/opt、種々のアプリケーションが入ります。Solarisでは、/opt/localにfree-softはいるケースが多くあります。 /usr/local/ へ/opt/localからシンボリックを張ると、幸せになることがあります。

/home、(/export/home)ユーザーのホームでレクトリは、ここに配置します。

swap プロセスに関するものです。実効メモリがない場合に、ここにデーターがセットされることがあります。

/temp、 もろテンポラリが入ります。

WorkingTable 作業デレクトリ

カレントデレクトリです。現在tree構造で自分のいるとこです。pwdで出てくる所です。

チルダ ~

チーズのチェルダだす。スイス地方の名前です。私は、どこに有るかわからないので、探すことにしました。<-遊び

やり方は簡単"~"の記号で表されているもので、~childaで引くと、childaのホームデレクトリへ行くことができます。おまけとして自分のホームページも参照する方法もあるのでとても便利やり方は、~/spaceforceです。その場合、スラッシュを忘れないようにして下さい。

作業デレクトリの操作

操作は、cdを使う。まあこれは、触って入れはかなりの頻度で使うので知らない人はいないだろう。操作方法は、表にまとめて置くのでよく習得するとかなり時間の節約になると思います。

user spaceforce でloginして現在t/home/spaceforce/play (/export/home/spaceforce/play)にいる場合

command new directory (absolute address) 備考
cd work /home/spaceforce/play/work 相対指定現在の位置から
cd ./work /home/spaceforce/play/work 相対指定現在の位置から
cd work/island /home/spaceforce/play/work/island 相対指定現在の位置から

cd ~/work/island

/home/spaceforce/play/work/island どこからでもいい。スラッシュ注意
cd /usr/local /usr/local 絶対指定どこからでもいい。
cd .. /home/spaceforce/play 相対指定ひとつ親へ戻る。
cd ../tool /home/spaceforce/play/tool 相対指定一つ戻った親から見て。
cd ~tool /home/spaceforce/play/tool どこからでもいい。スラッシュ注意

ワイルドカード展開 グロビング

filenameが良くわからない場合、いっぺんに色々なディレクトリを作業をする場合に非常に便利な指定方法です。

基本ワイルドカード

ワイルドカード filenameの一致対象
?
何らかのその位置にある一文字
*
その位置にある文字列
[abc]
その位置にあるabcの文字 set構造
[!abc]
その位置にあるabcでない文字 set構造

例) ?

test.? = test.c. test.h != test.gz test.sh test.tar

test.?? = test.gz test.sh != test.c test.h test.tar

test.??? = test.tar != text.c test.h test.gz test.sh

例) *

こんなfile名の中では、free peatch ed dev davi patch spaceforce gegege momo geo

結果 備考
ge* gegege geo 初めの2文字に一致
*ch patch 終わりのに2文字に一致
d* dev daiv 頭1文字に一致
*e* free dev gegege geo あくまで間にあるeに一致
*

free peatchs ed dev daiv patch spaceforce gegege momo geo
もうちょっと別な観点から。
test.* = test.c. test.gz test.tar != test.h tyt.h tzt.h
*.h = test.h tyt.h tzt.h != test.c test.gz test.tar

すべてに一致
d*v dev davi dとvにはさまれている文字
p*t* peatchs patch pとtにはさまれた後に文字がある
x* x* 見つからなかったのでそのまま表示
cshは、errorで実行しない。

例) set構造はもう少し詳しく書きます。

対象とされる文字
[abc] 小文字a、b、c、のどれかと一致
[,.;] ピリョオド、カンマ、セミコロンのどれかに一致
[-_] ファイフォン、アンタースコアに一致
[a-c] 小文字 aからcに一致
[A-C] 大文字 AからCに一致
[!0-9] 0から9以外の数字 初めに!をつけると否定になる。
[0-9!] 0から9を含むエスクラテーションマークのどれかに一致 初め以外に!をつけると"!"になる。
[a-zA-Z]

大文字小文字のアルファベートのどれかに一致

[a-zA-Z0-9-_] 大文字小文字のアルファベートと数字、ハイフォン、アンダースコアのどれかに一致

test.[ch] = test.c test.h != test.d test.gz test.C test.H

test.[gCH] = test.C test.H != test.c test.h test.gz

デレクトリででは、

/etc/rc1.d /etc/rc2.dからすべてのfileを読み出すのには、 ls /etc/rc*.d もしくわ ls /etc/rc?.d などである。

その中のSの頭文字のつくものは、 ls /etc/rc?.d/[S]* になる。

注意) あまり大きな範囲で指定しないほうかいい。たとえば、a-Z などは危険、ASCII、EBCIDICなどのコード符号化ルールの違いがあるのでそのままの範囲指定が異なる場合があるようだ。

ブレース展開

この展開は、今までのが現在存在するファイル名やティレクトリに対して展開が行われたのに対して、これは、書式に元づいて展開されることになるようだ。今までがポシ゜ティブとするとこれは、パッシブだな。

構文は、file{a{d、e}, b, c}nameのようになる。

結果は、 fileadname fileaename filebname filecname と展開される。

file{a}nameなどの展開は、想定されていない。必要ないので、 file{a}nameと展開されてしまう。

自己発生型なので、

echo file{a, b, c}nameなどを実行すると。

fileaname filebname filecname

という表示がされる。

Last edit was Wednesday, 06/19/2002 <back> <top>

PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル